//
//  RCMainTabBar.swift
//  RCWeibo
//
//  Created by CL on 15/12/14.
//  Copyright © 2015年 CL. All rights reserved.
//

import UIKit

class RCMainTabBar: UITabBar {
    
    override init(frame: CGRect) {
        
        super.init(frame: frame)
        
        addSubview(composeBtn)
        
    }
    //一旦重写了init（frame）的方法，那就默认只能通过手码来创建
    required init?(coder aDecoder: NSCoder) {
        
        //若想即用手码又用xib那么就要屏蔽下面这句，让其不报异常
//        fatalError("init(coder:) has not been implemented")
        super.init(coder: aDecoder)
        
    }
    //更改frame
    override func layoutSubviews() {
        
        super.layoutSubviews()
        // 因为要留出中间的空白，所以在布局的时候更改各个子控件的frame
        //第0个子控件是backgroudview
    //   第1个 才是btn
//        print(subviews[1])
        //思路：通过移动后两个btn来挪出位置，再将compose btn 添加到空位
 ///  每个btn的宽度
        let w = screenWidth * 0.2
        let h = bounds.height
        
        let rect = CGRect(x: 0, y: 0, width: w, height: h)
        
        /// 定义一个btn的索引
        var i: CGFloat = 0
        //遍历
        for subview in subviews {
        
            //判断如果是btn就对其进行操作
            if subview.isKindOfClass(NSClassFromString("UITabBarButton")!){

                //通过对rect的偏移量来设置btn的位置
                subview.frame = CGRectOffset(rect, i++ * w, 0)
                //如果下一个btn是第三个btn， 那么就再加一
                i += i == 2 ? 1 : 0
                
            }
            //
            composeBtn.frame = CGRectOffset(rect, 2 * w, 0)
            bringSubviewToFront(composeBtn)
            
        }
        
        
    }

  
    /// 懒加载发布按钮
//    lazy var composeBtn: UIButton = {
//        
//        let btn = UIButton()
//        
//        btn.setImage(UIImage(named: "tabbar_compose_icon_add"), forState: .Normal)
//        btn.setImage(UIImage(named: "tabbar_compose_icon_add_highlighted"), forState: .Selected)
//        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button"), forState: .Normal)
//        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button_highlighted"), forState: .Selected)
//        
//        btn.sizeToFit()
//        
//        
//        return btn
//    }()
    
    lazy var composeBtn: UIButton = UIButton(imageName: "tabbar_compose_icon_add", backImageName: "tabbar_compose_button")
    
    
    
    
}
